{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Mean variance optimization solution\n", "\n", "For assignment and data, see https://www.fransderuiter.com/JADS/\n", "\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Setup" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "from pyomo.environ import *\n", "import matplotlib.pyplot as plt\n", "from matplotlib import cm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Read data" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | Unnamed: 1 | \n", "Unnamed: 2 | \n", "SMALL LoINV | \n", "ME1 INV2 | \n", "ME1 INV3 | \n", "ME1 INV4 | \n", "ME1 INV5 | \n", "ME1 INV6 | \n", "ME1 INV7 | \n", "ME1 INV8 | \n", "... | \n", "BIG LoINV | \n", "ME10 INV2 | \n", "ME10 INV3 | \n", "ME10 INV4 | \n", "ME10 INV5 | \n", "ME10 INV6 | \n", "ME10 INV7 | \n", "ME10 INV8 | \n", "ME10 INV9 | \n", "BIG HiINV | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SMALL LoINV | \n", "0.003369 | \n", "2.301398 | \n", "2.301398 | \n", "2.075644 | \n", "1.904954 | \n", "1.873764 | \n", "1.804488 | \n", "1.760517 | \n", "1.838048 | \n", "1.898293 | \n", "... | \n", "1.610037 | \n", "1.971464 | \n", "1.388215 | \n", "1.478249 | \n", "1.711632 | \n", "1.394308 | \n", "1.504389 | \n", "1.754384 | \n", "1.621627 | \n", "1.613875 | \n", "
ME1 INV2 | \n", "0.041349 | \n", "2.154002 | \n", "2.075644 | \n", "2.154002 | \n", "1.863827 | \n", "1.842441 | \n", "1.769529 | \n", "1.726058 | \n", "1.800831 | \n", "1.846832 | \n", "... | \n", "1.582968 | \n", "1.925417 | \n", "1.365061 | \n", "1.471519 | \n", "1.681836 | \n", "1.376549 | \n", "1.467429 | \n", "1.737659 | \n", "1.578213 | \n", "1.559424 | \n", "
ME1 INV3 | \n", "0.039155 | \n", "1.892804 | \n", "1.904954 | \n", "1.863827 | \n", "1.892804 | \n", "1.724930 | \n", "1.654159 | \n", "1.611129 | \n", "1.689768 | \n", "1.724745 | \n", "... | \n", "1.458070 | \n", "1.782231 | \n", "1.268083 | \n", "1.349650 | \n", "1.552639 | \n", "1.277392 | \n", "1.371330 | \n", "1.610320 | \n", "1.454294 | \n", "1.418375 | \n", "
ME1 INV4 | \n", "0.037095 | \n", "1.879435 | \n", "1.873764 | \n", "1.842441 | \n", "1.724930 | \n", "1.879435 | \n", "1.679332 | \n", "1.610732 | \n", "1.710631 | \n", "1.742087 | \n", "... | \n", "1.466828 | \n", "1.853272 | \n", "1.290937 | \n", "1.367081 | \n", "1.585465 | \n", "1.301183 | \n", "1.411083 | \n", "1.672035 | \n", "1.469236 | \n", "1.461106 | \n", "
ME1 INV5 | \n", "0.049750 | \n", "1.760228 | \n", "1.804488 | \n", "1.769529 | \n", "1.654159 | \n", "1.679332 | \n", "1.760228 | \n", "1.558254 | \n", "1.637907 | \n", "1.668230 | \n", "... | \n", "1.389965 | \n", "1.712064 | \n", "1.239707 | \n", "1.312110 | \n", "1.496432 | \n", "1.228574 | \n", "1.330135 | \n", "1.573344 | \n", "1.405970 | \n", "1.383310 | \n", "
5 rows × 102 columns
\n", "\n", " | Mean | \n", "Variance | \n", "SMALL LoINV | \n", "ME1 INV2 | \n", "ME1 INV3 | \n", "ME1 INV4 | \n", "ME1 INV5 | \n", "ME1 INV6 | \n", "ME1 INV7 | \n", "ME1 INV8 | \n", "... | \n", "BIG LoINV | \n", "ME10 INV2 | \n", "ME10 INV3 | \n", "ME10 INV4 | \n", "ME10 INV5 | \n", "ME10 INV6 | \n", "ME10 INV7 | \n", "ME10 INV8 | \n", "ME10 INV9 | \n", "BIG HiINV | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SMALL LoINV | \n", "0.003369 | \n", "2.301398 | \n", "2.301398 | \n", "2.075644 | \n", "1.904954 | \n", "1.873764 | \n", "1.804488 | \n", "1.760517 | \n", "1.838048 | \n", "1.898293 | \n", "... | \n", "1.610037 | \n", "1.971464 | \n", "1.388215 | \n", "1.478249 | \n", "1.711632 | \n", "1.394308 | \n", "1.504389 | \n", "1.754384 | \n", "1.621627 | \n", "1.613875 | \n", "
ME1 INV2 | \n", "0.041349 | \n", "2.154002 | \n", "2.075644 | \n", "2.154002 | \n", "1.863827 | \n", "1.842441 | \n", "1.769529 | \n", "1.726058 | \n", "1.800831 | \n", "1.846832 | \n", "... | \n", "1.582968 | \n", "1.925417 | \n", "1.365061 | \n", "1.471519 | \n", "1.681836 | \n", "1.376549 | \n", "1.467429 | \n", "1.737659 | \n", "1.578213 | \n", "1.559424 | \n", "
ME1 INV3 | \n", "0.039155 | \n", "1.892804 | \n", "1.904954 | \n", "1.863827 | \n", "1.892804 | \n", "1.724930 | \n", "1.654159 | \n", "1.611129 | \n", "1.689768 | \n", "1.724745 | \n", "... | \n", "1.458070 | \n", "1.782231 | \n", "1.268083 | \n", "1.349650 | \n", "1.552639 | \n", "1.277392 | \n", "1.371330 | \n", "1.610320 | \n", "1.454294 | \n", "1.418375 | \n", "
ME1 INV4 | \n", "0.037095 | \n", "1.879435 | \n", "1.873764 | \n", "1.842441 | \n", "1.724930 | \n", "1.879435 | \n", "1.679332 | \n", "1.610732 | \n", "1.710631 | \n", "1.742087 | \n", "... | \n", "1.466828 | \n", "1.853272 | \n", "1.290937 | \n", "1.367081 | \n", "1.585465 | \n", "1.301183 | \n", "1.411083 | \n", "1.672035 | \n", "1.469236 | \n", "1.461106 | \n", "
ME1 INV5 | \n", "0.049750 | \n", "1.760228 | \n", "1.804488 | \n", "1.769529 | \n", "1.654159 | \n", "1.679332 | \n", "1.760228 | \n", "1.558254 | \n", "1.637907 | \n", "1.668230 | \n", "... | \n", "1.389965 | \n", "1.712064 | \n", "1.239707 | \n", "1.312110 | \n", "1.496432 | \n", "1.228574 | \n", "1.330135 | \n", "1.573344 | \n", "1.405970 | \n", "1.383310 | \n", "
5 rows × 102 columns
\n", "